package com.hqully.labmanage.service;

import com.github.pagehelper.PageInfo;
import com.hqully.labmanage.domain.dto.DeviceDTO;
import com.hqully.labmanage.domain.dto.PageDTO;

import java.util.List;

/**
 * <p>
 * 针对数据库表[deviceDTO]的操作Service
 * </p>
 *
 * @entity {@link DeviceDTO}
 * @date 2022-10-08 10:05:23 <br>
 * @author hqully <br>
 * @version 1.0
 */

public interface DeviceService {

     /**
      * <p>
      *     根据[deviceDTO]的参数分页条件查询设备列表
      * </p>
      * @param page    分页参数
      * @param deviceDTO 查询对象条件参数
      * @return {@link PageInfo<DeviceDTO>} 设备DTO分页列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     PageInfo<DeviceDTO> pageDevices(PageDTO page, DeviceDTO deviceDTO);


     /**
      * <p>
      *     根据[deviceDTO]的参数条件查询设备
      * </p>
      * @param deviceDTO 查询对象
      * @return {@link List<DeviceDTO>} 设备DTO列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     List<DeviceDTO> listDevices(DeviceDTO deviceDTO);


     /**
      * <p>
      *     添加设备
      * </p>
      * @param deviceDTO 设备DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int addDevice(DeviceDTO deviceDTO);

     /**
      * <p>
      *     更新设备
      * </p>
      * @param deviceDTO 设备DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int updateDevice(DeviceDTO deviceDTO);


     /**
      * <p>
      *     通过[id]删除设备
      * </p>
      * @param id 设备id
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int deleteDeviceById(String id);

}
